home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1995 #5 & #6 / Amiga Plus CD - 1995 - No. 5 and 6.iso / pd / spiele / gnuchess / src / doc / changelog < prev    next >
Text File  |  1995-07-02  |  27KB  |  614 lines

  1.     * fixed bugs in gnuan.c.
  2.     * terminate search when insufficient mating material is found.
  3.     * continue playing if opponent rejects 3 repetitions draw option.
  4.     * clean up genmoves.c; should compile faster now.
  5.     * bug fixes from Tony Acero for book.c & gnuan.c
  6.     * bug fixes from Tim Mann for hash table code.
  7.     * fix illegal moves in gnuchess.bk3.
  8.     * remove Swag3/killr3 for better pruning (Johanes Suhardjo).
  9.     * thinking on opponent time is now working again.
  10.     * installation is through ./configure now.
  11.     * makefile for Windows NT from Tim Mann.
  12.  
  13.  
  14. Fri Feb 3 Patchlevel 74 Chua Kong Sian (kongsian@nsrc.nus.sg)
  15.     * add forward pruning (-DPRUNE to activate)
  16.     * unlimited captures in quiescence (-DUNLIMITEDCAPS to activate)
  17.     * fine tune and clean up eval routines (double bishop bonuses,
  18.       higher bonuses for pawn advances, better endgame eval).
  19.     * update null move logic for better pruning
  20.     * modified time control logic.  
  21.     * new repetition() code from Dan Oetting.
  22. Thr Sep 18 Patchlevel 73 Mike McGann (mwm@ascom.ch)
  23.     * search updates and bugfixes from Tim Mann, Kong Sian, and Mike Mcgann
  24.       fixes search bugs for Linux, endgame play and speeds up search
  25.     * new interface to gnuan to provide interactive capability
  26.       for analysis
  27.     * add bk and eco commands.
  28.     * ability to read xboard fen positions (xget command)
  29.     * gnuan now accepts PGN games as input.
  30.     * Makefile updates from rocky@panix.com (R. Bernstein)
  31. Thr Jun 29 Patchlevel 71 Mike McGann (mwm@ascom.ch)
  32.     * Terminate search when mate found in transposition table (Chua Kong Sian)
  33.     * patches for xboard compatibility from Timm Mann(mann@src.dec.com)
  34.     * Fixes for search problems from Chua Kong Sian and Mike McGann
  35.         * Add book lookup command bk
  36.         * Change CaptureList to not do RQ non-capture moves
  37.     * Update man page
  38. Sat May 10 Patchlevel 70 Mike McGann (mwm@ascom.ch)
  39.     * Fixes for search problems from Chua Kong Sian
  40.      and Dr Michael J. White and Dmitry Dakhnovsky.
  41.     * fixes for HP compile from Richard Lloyd.
  42. Sat Mar 19 Patchlevel 69 Mike McGann (mwm@ascom.ch)
  43.     * New transition table code from Dan Oetting (oetting@gldfs.cr.usgs.gov)
  44.      separating the tt code into a separate module
  45.     * Fixes for the draw problems from Chua Kong Sian and Mike McGann
  46.     * better use of the transition table + size reduction
  47.     * lots of small bug fixes
  48.     * post command split to post/unpost for easier use in scripts
  49.      * fix for DEEPNULL bug from Chua Kong Sian (nsrccks@leonis.nus.sg)
  50. Sat Feb 12 Patchlevel 68 Stuart Cracraft (cracraft@rice-chex.ai.mit.edu)
  51.     * Patches by Chua Kong Sian and Mike McGann.
  52. Fri Feb 4 Patchlevel 67 Stuart Cracraft (cracraft@rice-chex.ai.mit.edu)
  53.     * New version by Mike McGann.
  54. Sun Jan 23 Patchlevel 66 Stuart Cracraft (cracraft@rice-chex.ai.mit.edu)
  55.     * ensure computer thinking on opponent's time when easy mode
  56.     * loading game not searching book bug fixed.
  57.     * both by Chua Kong Sian (nsrccks@leonis.nus.sg)
  58. Wed Jan 19 Patchlevel 65 Stuart Cracraft (cracraft@rice-chex.ai.mit.edu)
  59.     * chesstool compatibility (asun@mmvideo.mt.att.com)
  60.     * speed/time bugfixes in search.c+eval.c (nsrccks@leonis.nus.sg)
  61. Mon Jan 10 Patchlevel 64 Stuart Cracraft (cracraft@rice-chex.ai.mit.edu)
  62.     * makefile ("make realclean")
  63.     * basic data type-checking updates in util.c/eval.c
  64.     * announced patch in gnuchess.h
  65. Fri Jul 25 Patchlevel 63 Mike McGann (mwm@hssler.ascom.ch)
  66.     * Change all char to signed char for SGI
  67.     * Change trans logic to not store if quiescent search has been used
  68.     * Update Book
  69. Fri Jun 25 Patchlevel 62 Mike McGann (mwm@hssler.ascom.ch)
  70.     * German language support from Richard Mathar <mathar@fz-rossendorf.de>
  71.     * better research logic from  kongsian@nsrc.nus.sg (Kong Sian)
  72.     * Redo NULLMOVE logic to eliminate hung pieces
  73.     * Redo search/eval/hashtable logic for speed and to optimize gnutest 
  74.       results.
  75.     * Redo and simplify book install stuff
  76.     * Use more estimates down to leafs to speed up search.
  77.     * fix illegal castle move bug and ^C breakout of search slowness
  78. Fri Jan 8 Patchlevel 61 Mike McGann (mwm@hasler.ascom.ch)
  79.     * fix bug in en-passant restoring on unmake of move
  80.     * fix to search timing function bug that  caused it to increase time on takebacks
  81.       or occasionally take a long time for a move
  82.     * new next ply estimate function
  83.     * allow increased time to complete a partial ply MAXTCCOUNTX
  84.     * allow more time per move in necessary MAXTCCOUNT
  85.     * gnuan now skips processing process book moves from Chua Kong Sian (ccecks@nuscc.nus.sg)
  86.     * new KP1K endgame routine from R. Stephan (ralf@ark.abg.sub.org)
  87.     * fix to ElapsedTime nchar declared wrong from T. Mann(mann@src.dec.com)
  88.     * updates for Dec Alpha from T. Mann (mann@src.dec.com)
  89. Fri Oct 30 Patchlevel 60 Mike McGann (mwm@hasler.ascom.ch)
  90.     * null move heuristic from Benno Tietz (tietz@eos.informatik.uni-bonn.de) intalled
  91.     * fixes for ProbeTTTable from Benno Tietz
  92.      * fixes for xget from Tim Mann(mann@src.dec.com)
  93.     * change hash table collision avoidance algorithms
  94.     * two new book formats GDBM (Gnu dbm based) and
  95.       GDX (hash file based).
  96.     * add MSDOS fixes from ccecks@nuscc.nus.sg (Chua Kong Sian (Mr))
  97.       and msdso makefile
  98. Tue Oct 20 Patchlevel 59 Mike McGann (mwm@hasler.ascom.ch)
  99.     * binbookfile is now the main form of book.
  100.     * add rudimentary fischer clock
  101.     * add caching for static evaluations
  102.     * add aging for in core transposition table
  103.     * changes to history killer from tietz@eos.informatik.uni-bonn.de (Benno Tietz)
  104.     * bugfix from ccecks@nuscc.nus.sg (Chua Kong Sian (Mr))
  105.       for history declaration error.
  106.     * Allow full notation for book moves
  107.     * prevent caching of partially evalusted positions.
  108.     * add game time control
  109.     * add capability to feed back the clock for ICS  play
  110.     * gnuan fix en-passant problem
  111.     * gnuchess make book nameable in command line
  112.     * change move output to generate o-o form of castling moves
  113.       to satisfy ICS
  114.     * Speedup evaluation functions
  115.     * fixes to killt from tietz@eos.informatik.uni-bonn.de (Benno Tietz)
  116.     * add moves generated to post output
  117.         * fixes to genmoves from Dan Oetting <oetting@gldfs.cr.usgs.gov>
  118.     * change over to gettimeofday for more accuracy
  119.     * clean up search logic and time control
  120.     * fix transposition search bug
  121. Mon Aug 24 Patchlevel 58 Mike McGann (mwm@hasler.ascom.ch)
  122.     * add Mwpawn, Mbpawn, Mw..., Mb... , p and debug commands to
  123.     gnuchessr. 
  124.     * Fix bug in evaluation logic for hung pieces.
  125.     * Fix time control calculation to add time at time control
  126. Fri Aug 14 Patchlevel 57 Ben Hurwitz (bug fixes) Thierry Leconte (book)
  127.     * Both/force interaction improved.
  128.     * Bug fix to possibles declaration and OR of move with BADMOVE
  129.     * Work better with GM John Nunn book (take care of order of
  130.       lines, don't null the book for at least 3 moves after taken out
  131.       of book, no random opening)
  132.     * Removed exit of program when drawn game detected.
  133.     * Fixed bug that caused program to make 1-move blunders.
  134.       (transposition table caused return 0 when position seen before
  135.        to detect draw which then gets a depth bonus since search
  136.        is inexact so it ends up looking better to make a repetition
  137.        than making a winning 1-mover!)
  138. Sun Jul 2 Patchlevel 56 Henrik Schmiediche
  139.     * Fix test command (patch to dspcom.c). The results
  140.       were off by a factor of 100.
  141.     * Delete lint from Makefile.
  142.     * Better CFLAGS for HP machine.
  143. Mon Jun 29 Patchlevel 55 Stuart Cracraft
  144.     * Apply Mann's FIONREAD-clarification patches
  145.     * Change BOOKFAIL in gnuchess.h so that the program
  146.       always consults the opening book first.
  147.     * Up BOOKBITS to 10 to account for larger book:
  148.   "As currently set up with BOOKBITS equal 8 there is a table of 256
  149.   pointers into the BOOK hashtable. With 20,000 entries and 256 buckets
  150.   it would do a linear search of approx 78 entries per lookup. Increasing
  151.   BOOKBITS to 9 would mean a search of 34 entries etc. and would add 
  152.   256 pointers to the data area. So we probably should make it 10 then."
  153.                         McGann
  154. Fri Jun 26 Patchlevel 54 Mike McGann
  155.     * This version compiles into a version identical with
  156.       3.1+ (and so is much stronger than the previous 4.0).
  157.       But, it has beaten 3.1+ in a short match. Also, it
  158.       has bug fixes, timing control improvements and other
  159.       fixes contained in this list.
  160. Tue Jun 23 Patchlevel 53  Stuart Cracraft / Tim Mann
  161.     * Use a[u]+1 in ataks.c instead of ++a[u].
  162.     * Don't use space bonus tables.
  163. Tue Jun 23 Patchlevel 52  Tom Truscott
  164.     * GNUchess will now compile on the IBM RS/6000 (AIX).
  165.     * Makefile changes needed for older AIX compilers lacking support
  166.       for "cc -c foo.c -o bar.o" (strange but true).
  167.     * The other changes are to appease the picky type checking
  168.       that is enabled by some of the compiler options.
  169. Sat Jun 21 Patchlevel 51  Tim Mann <mann@src.dec.com>
  170.     * Fixed problem with "help" command by removing "fflush(stdin)".
  171.     * "Undo" command now does not add moves to a 1-move time control.
  172.     * Added back feature from 3.1 that lets the user set a maximum
  173.       search time per move instead of using time controls, and changed
  174.       the command line syntax for this feature to be compatible with 3.1,
  175.       removing the ability to set max search depth from the command line.
  176.         * Fixed the "maximum minutes per move" feature in gnuan.
  177.     * Updated and corrected the man page.
  178. Thu Jun 18 Patchlevel 50 Tim Mann
  179.     * Special #ifdefs to not do post for xboard are unnecessary
  180.       and were removed.
  181. Wed Jun 17 Patchlevel 49 Mike McGann, Urban Koisten
  182.     * Fix book code to calloc (Urban)
  183.     * Fixed other code (Mike)
  184. Sun Jun 7 Patchlevel 48 Stuart Cracraft (cracraft@rice-chex.ai.mit.edu)
  185.     * Fix gnuan.c output to be more uniform. And tested that it
  186.       works.
  187. Sat Jun 6 Patchlevel 47 Stuart Cracraft (cracraft@rice-chex.ai.mit.edu)
  188.     * Fix Makefile to correctly define BINBOOK so that parsed
  189.       opening book gets used (if available.)
  190. Sat Jun 6 Patchlevel 46 Stuart Cracraft (cracraft@rice-chex.ai.mit.edu)
  191.     * Various patches from various people to mostly robustify the
  192.       code (exit values to exit, etc.)
  193.     * New book.c handling code and gnuchess.h from Urban to handle
  194.       mega book now under discussion.
  195.     * New Xboard.
  196. Wed Jun  3 Patchlevel 45 Stuart Cracraft (cracraft@rice-chex.ai.mit.edu)
  197.     * Encapsulate Xboard with GNU Chess distribution
  198. Sun May 31 Patchlevel 44 Bart Massey (bart@cs.uoregon.edu)
  199.     * Rename structure element move to bmove in book.c since
  200.       curses.h defines a move macro.
  201.     * Get rid of superfluous returns in dspcom.c and checkbook.c
  202.     * Be sure beep message has an arg in uxdsp.c
  203.     * Add exit status to exit() call in checkbook.c
  204. Sat May 30 Patchlevel 43 Stuart Cracraft (cracraft@rice-chex.ai.mit.edu)
  205.     * Fix checkmate/draw handling.
  206.     * Add current module copyrights and COPYING.
  207.     * Ifdef forced-mate announcements as too buggy.
  208. Fri May 29 Patchlevel 42 Stuart Cracraft (cracraft@rice-chex.ai.mit.edu)
  209.     * HUNGP/HUNGX in eval.c updated to values used by Slate/Atkin
  210.       of Chess 4.x. This fixes a problem with Reinfeld's #281
  211.       and poor play in Alapin's opening. General play against
  212.       me has been much better.
  213. Mon May 11 Patchlevel 41 Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  214.     * genmove update to look at less possible promotion moves
  215.     * fix bugs in move ordering logic
  216.           * remove operator time as a default
  217. Thur Apr 30 Patchlevel 40 Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  218.     * Book updates from Tim Mann (mann@src.dec.com)
  219.     * Search updates to look more at possible promotion moves
  220.     * Transposition table update from U. Koistinen (md85-epi@nada.kth.se)
  221.           to allow for estimated scores.
  222. Mon Apr 27  Patchlevel 38  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  223.     * book updates for Cochrane from Tim Mann (mann@src.dec.com)
  224.     * added limit for infinite checks in endgame to tree search
  225.           to limit time spent in any branch
  226. Wed Apr 25  Patchlevel 38  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  227.     * fix slowdown caused by previous changes. 
  228. Wed Apr 22  Patchlevel 37  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  229.     * fix sizes of ttable (malloc) and hashfile (-c option)
  230.       to allow for rehashing
  231.     * eliminate pick replace with qsort
  232.     * adjust lookahead limits
  233. Thur Apr 15  Patchlevel 35  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  234.     * fix bugs in search logic
  235. Mon Apr 13  Patchlevel 34  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  236.     * Fix bugs in game win/draw logic.
  237. Fri Apr 8  Patchlevel 34  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  238.     * rewrite time control moving it up a level
  239.     * replace sorts with qsort
  240.     * fix material command to all multiple N's and B's
  241.     * and make it an ifdef on NOMATERIAL
  242. Fri Mar 30  Patchlevel 32  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  243.     * make MINDEPTH a define
  244.     * eliminate #ifdef's for hashbd/hashkey it is always required
  245.     * up MINDEPTH to 2 to always get a hint
  246.     * add some dynamics to eval/estimate decision
  247.     * more dynamic time allocation
  248. Fri Mar 27  Patchlevel 30  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  249.     * fix hashfile code again
  250.     * fix startup for no book present
  251.     * fix race condition in search
  252.     * allow parameters on commands
  253. Wed Mar 25  Patchlevel 28  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  254.     * fix bug in hashfile debug code
  255.     * add material check for draw and material command
  256.     * fix QUIETBACKGROUND code
  257. Tue Mar 24  Patchlevel 27  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  258.     * fix book move reject to not select a ? move
  259.     * add check to HASHFILE option to check for ilegal move
  260.     * document debug options
  261. Mon Mar 23  Patchlevel 26  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  262.     * Add multiple time controls
  263.     * apply fixes from  R.K.Lloyd@compsci.liverpool.ac.uk
  264.       for screen update problems in visual mode
  265. Sun Mar 22  Patchlevel 25  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  266.     * Update man pages
  267.     * fix false mate problem with transposition table
  268.     * add history killers option but don't use it.
  269.     * fix handling of input parameters so the doc and the
  270.     program agree
  271.     * allow time to be specified in seconds (machines are faster now)
  272.     * add QUIETBACKGROUND option from md85-epi@nada.kth.se.
  273.     * put in book patch from md85-epi@nada.kth.se.
  274.  
  275. Sun Mar 15  Patchlevel 22  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  276.     * Add options for SpaceBonus table levels
  277.     * Switch to new book
  278.     * Add polling code for keyboard
  279.  
  280. Tue Mar 10  Patchlevel 21  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  281.     * correct depth test in PutInTTtable
  282.     * patch from Urban Koistinen (md85-epi@nada.kth.se)
  283.       correcting bug in repetition
  284.  
  285. Mon Mar 9  Patchlevel 20
  286.     * correct defaults for MEMSET
  287.  
  288. Sat Mar 7  Patchlevel 19  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  289.     * add speedups by using memset for ZeroRPT
  290.     * rewrite ScoreSpace
  291.     * rewrite pick
  292.  
  293. Thur Mar 5  Patchlevel 18  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  294.     * fix bug in timing that led to negative times
  295.     * change time allocation to be more flexible
  296.     *  based on score and depth
  297.         * eliminate a bad opening from the book
  298.  
  299. Sat Feb 15  Patchlevel 17  Urban Koistinen (md85-epi@nada.kth.se)
  300.         * Added option -T n to set transposition table size 2^n.
  301.         * -r n set rehash to n.
  302.         * Changed repetition to make it work harder.
  303.         * ScoreSpace changed to value central squares higher.
  304.         * Made go change colors so white&black work as they should.
  305.  
  306. Fri Dec 30 08:34:00 1991  Patchlevel 16
  307.     * Fix to eval.c for mis-transcribed sign in ScoreKBNK.
  308.     * Fix to malloc call in init.c.
  309.     * ScorePosition updated with addition of ScoreSpace
  310.           to add in points for threats in a position.
  311.       from  Urban Koistinen (md85-epi@nada.kth.se)
  312.         * Various tuning of parameters
  313.  
  314. Fri Nov 30 08:34:00 1991  Patchlevel 15
  315.     * from nv-90-mho@nada.kth.se
  316.      patch to make listfile name meaningful instead of a random number
  317.     * from  Urban Koistinen (md85-epi@nada.kth.se) move generation
  318.      speedup for non-pawn moves and move selection improvements.
  319.     * from  Mike McGann (mwm@hslrswi.hasler.ascom.ch) added language
  320.      file to allow multiple languages to be supported. Fix broken 
  321.          search on opponents time, fix bad moves in book.
  322.  
  323. Mon Oct 19 08:34:00 1991  Urban Koistinen (md85-epi@nada.kth.se)
  324.         * patchlevel 14
  325.  
  326.     * fix checks in castling logic to only allow kings to do it.
  327.  
  328.     * fix repetition logic  "all pieces are the same" bug.
  329.  
  330. Thur Oct 10 13:34:00 1991  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  331.     * patchlevel 14
  332.  
  333.     * expand the timing logic to allow more time in unstable
  334.      positions
  335.  
  336.     * Update man pages
  337.  
  338.     * Fix printout bug in Checkbook
  339.  
  340. Tue Oct 8 13:34:00 1991  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  341.     * patchlevel 13
  342.  
  343.     * General cleanup, Fix screens, prompts, rate calculation
  344.     
  345. Sun Oct 5 13:34:00 1991  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  346.     * patchlevel 12
  347.     * Change eval.c/KingValue to ignore Mking if the otherside
  348.     has only pawns on the board. Tuning parameter is
  349.     KINGPOSLIMIT.
  350.     
  351.     * Fix time print in gnuchess and gnuchessx. 
  352.  
  353.     * Use ShowMessage for all error messages.
  354.  
  355.     * Fix post option to print time in seconds.
  356.  
  357. Sun Oct 5 08:34:00 1991  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  358.     * patchlevel 11
  359.     * speedups in search. Eliminate unused computation.
  360.  
  361.     * change eval.c/KingValue to ignore Mking if there are
  362.     only pawns on the board. Tuning Parameter is KINGPOSLIMIT.
  363.  
  364.     * make DITHER a tuning parameter.
  365.  
  366. Tue Oct 1 08:34:00 1991  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  367.     * patchlevel 10
  368.     * fix eval bug in ScorePosition. Evaluated pawn structute
  369.     incorrectly. Introduced when gnuchess was split up.
  370.  
  371.     * Change default for SCORETIME to -9000 it plays better
  372.  
  373.     * correct promotion logic for CHESSTOOL and XBOARD only queens
  374.     are generated now.
  375.  
  376.     * correct handling of TOflag for bothsides mode.
  377.  
  378. Mon Sept 27 08:34:00 1991  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  379.     * fix more enpassant bugs in checkgame/checkbook
  380.  
  381.     * misc speedups by inlining code.
  382.     move SqAtakd to ataks.h and inline it.
  383.     
  384.     * Modify checkbook to also read xboard game files and
  385.     check them for illegal moves. 
  386.     
  387.     * fix bug in game.c introduced by patch 8
  388.  
  389. Mon Sept 26 08:34:00 1991  Urban Koistinen (md85-epi@nada.kth.se) 
  390.  
  391.     * Correct the making and unmaking of enpassant moves and
  392.     numerous incorrect usages of ? throughout the program.
  393.  
  394. Mon Sept 24 08:34:00 1991  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  395.  
  396.     * force search re-init if PV chavges due to a timeout
  397.  
  398.     * add patchlevel to the -v option to keep version straight.
  399.     
  400.     * Change search and timing logic. Search now backs up to
  401.     previous level on a timeout. Search adds time to the search
  402.     if the last top level PV is different from the current and
  403.     this level is not finished. Seems to play much stronger.
  404.  
  405. Mon Sept 16 08:34:00 1991  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  406.     
  407.     * Opening book now handles transitions. It continues looking
  408.     at the book until 2 (tunable) successive turns fail to find a move
  409.     there.
  410.  
  411.     * GetOpenings now checks for errors on input. The current book was full 
  412.     of illegal moves. They were filtered out since at game time the book
  413.     move is matched against the legal move list. But it makes for bad
  414.     opening play. EnPassant moves are not allowed in openings(a limitation?)
  415.     Checks made are the there is a piece on the from square belonging
  416.     to the right side and there is no piece or a piece belonging to the
  417.     other side on the to square. There is no check that the piece is 
  418.     moving legally.
  419.     
  420.     * ListGame now makes up the name chess.lst.random#. So if you are
  421.     using xboard to play a match (two machine mode) they won't overwrite.
  422.     
  423.     * Added patch from Randy Ray (rray@SPECLAB.CR.USGS.GOV) to correctly
  424.     format chess.lst
  425.  
  426. Wed Sept 4 08:34:00 1991  Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  427.     
  428.     * Renamed gnuchess3.1+ to gnuchess to reflect the split in 
  429.     gnuchess development. There now seems to be 3 threads.
  430.     Gnuchess, gnuchess for windows (3.21), and the gnuchess4
  431.     project if it still exists.
  432.     * Fix chesstool version to handle white as well as black.
  433.     * Split program into modules for easier maintinance and
  434.     development.
  435.     * Fixed Illegal move bug in VerifyMove for promotion moves.
  436.     * Replaced ResponseTime calculations with simpler version that
  437.     stays within the time limits and seems to do as well or better
  438.     in play.
  439.     * General cleanup of the search algorithm
  440.     * Fixed gnuan input processing and termination code.
  441.     * Fixes to work with xboard match mode
  442.     * Added TEST directory with 16 problems from Levy's
  443.       Computer Chess book.
  444.  
  445. Tue Aug  6 18:10:47 1991  Philippe Schnoebelen  (phs@lifia.imag.fr)
  446.  
  447.     * Modify handling of Book in Undo (previously, when you
  448.     backtracked after quitting the book, the program was not able to
  449.     use it again)
  450.  
  451.     * Modify handling of Book in EditBoard and other routines so that
  452.     the Book is not used if you don't start from the regular initial board.
  453.  
  454. Mon Aug  5 17:26:59 1991  Philippe Schnoebelen  (phs@lifia.imag.fr)
  455.  
  456.     * Modify parse in gnuchess.c so that a move can be followed by '?'
  457.     indicating that the program should not play it itself. Such a move
  458.     is stored with the highest bit raised.
  459.           Modify OpeningBook in gnuchess.c so that moves with highest bit
  460.     set are recognized but not played by the program.
  461.  
  462.     * Modify the declaration of array PieceList in gnuchess.[ch] to
  463.     allow for up to 64 men of the same side. Such artificial
  464.     situations can be built with edit and the program must be able to
  465.     deal with them.
  466.  
  467. Mon Aug 1 10:20 1991 Mike McGann (mwm@hslrswi.hasler.ascom.ch)
  468.     Split chesstool and xboard versions. Xboard is now
  469.     gnuchessx and chesstool is gnuchessc.
  470.  
  471. Mon Apr 15 10:20 1991 Mike McGann {mwm@hslrswi.hasler.ascom.ch)
  472.     Changed transposition table to cache positions found in transposition file
  473.     Fix Undo's incorrect handling of promotions.
  474.     Fix win and draw determination bugs.
  475.      Fix bug in algbr that prevented correct display of promotion moves.
  476.     Fix Undo to correctly display side to move.
  477.     Add path to command line for save file and load file.
  478.     Make save file human readable
  479.     
  480. Thu May 24 13:42:24 1990  Hans Eric Sandstr|m  (hes at baloo)
  481.     * Fixed a bug reported by Brian Wong (wong@cs.UAlberta.CA) in
  482.     ScoreKPK
  483.  
  484. Sat May  5 15:58:31 1990  Hans Eric Sandstr|m  (hes at baloo)
  485.     * extensive tests on MSDOS for 2 weeks and lots of changes:
  486.     Moved all flags to a special flag structure.
  487.     Added my own TODO file to the DOCUMENTATION.
  488.     Moved GetOpenings and parse from the *dsp.c files.
  489.     Made the transposition table enabled by default.
  490.     Some cleanup in the *dsp.c code.
  491.     Changed UpdateHashbd to a macro.
  492.  
  493. Wed Apr 18 16:38:30 1990  Hans-Erik Sandstr|m  (hes at tiamat)
  494.     * Removed unnessesary global variables:
  495.     (wking, bking, Enemyking, INCscore, slk, InChk, HasPawn,
  496.     Zwmtl, Zbmtl, lpost, KBNKsq) this should make the program more
  497.     readable.
  498.     * Added a mini transposition table to detect repetitions, this
  499.     means that repetition is called more seldom and should save some
  500.     time. The idea for this came from Benno Tietz
  501.     (tietz@eos.informatik.uni-bonn.de)
  502.  
  503. Thu Mar 29 02:49:00 1990  Thorsten Ohl at (td12@ddagsi3.bitnet)
  504.      * nuxdsp.c has been given an ANSI interface (tailored
  505.     after uxdsp.c as of Version 3.00 and a homegrown
  506.     ANSI interface created in January for Version 1.55).
  507.      *    uxdsp.c now understands ^C interrupts.
  508.      *    both nuxdsp.c and uxdsp.c support the graphic characters
  509.     of the IBM PC (can be disabled with -DSEVENBIT).
  510.     It's of course a matter of taste, but I think it looks
  511.     much better.
  512.      * I have added prototypes and a makefile for a **IX compatible
  513.     MS-DOS make (neither Turbo C or Microsoft C will understand
  514.     this!).
  515.      *    some formal parameters are not referenced. This is due to the
  516.     different display interfaces and no problem at all. Just for
  517.     aesthetic reasons I have shut up the compiler by incrementing
  518.     the unreferenced variables.
  519.      *    some longs are assigned to shorts and some shorts to unsigned chars.
  520.     I have introduced a cast in each case, all are o.k. (as far
  521.     as I can tell).
  522.  
  523. Thu Mar  8 09:11:28 1990  Hans-Erik Sandstr|m  (hes at orsa1)
  524.     * The persistent hash table seems to work now. There are still some
  525.     problems using it on a heterogenous network.
  526.  
  527. Sun Mar  4 14:44:44 1990  Hans Eric Sandstr|m  (hes at orsa)
  528.     * I am working on a persistent hash table. Currenly a 10Mb file
  529.     with 262144 entrys. Stuart just asked me to spilt the posdata
  530.     array to make gnuchess work better on a PC, so I did that.
  531.     I have also tried to properly fix the bug that caused gnuchess
  532.     to report mate prematurely. This, I hope, will also improve the
  533.     search.
  534.  
  535. Tue Feb 27 18:27:23 1990  Hans Eric Sandstr|m  (hes at davidson.log-sv.se)
  536.     * used protoize to make a function prototyped version of gnuchess.
  537.     this means that I have to use unprotoize before 'make distribution'
  538.     to make a more portable K&R version.
  539.     removed a ZeroTTable so now the hashtable is kept between moves.
  540.  
  541. Sat Feb 24 13:14:14 1990  Hans Eric Sandstr|m  (hes at orsa)
  542.     * Added a test to detect hash table collisions, define HASHTEST.
  543.     I also removed     the times calls since there is no sense in
  544.     measuring cpu time when    wallclock time is all that counts when
  545.     playing chess.
  546.  
  547. Fri Feb 23 17:25:37 1990  Hans Eric Sandstr|m  (hes at orsa)
  548.     * Compiled gnuchess with gcc1.37 -Wall and got lots of
  549.     implicit decaration warnings. Solved most of these by adding
  550.     external declarations in gnuchess.h.
  551.  
  552. Wed Feb 21 17:41:28 1990 Jouko Holopainen (jhol@tolsun.oulu.fi) 
  553.     * Contributed his code for ECO move entry (again!)
  554.     and a file ansidsp.c (A msdos port of uxdsp.c).
  555.     I(hes) started a merge of ansidsp.c and uxdsp.c.
  556.  
  557. February 8, 1990 -- Hans Eric Sandstrom (hes@log-sv.se)
  558.     Changed the transpositon table to allow 65536 positions per player.
  559.     This means a 1.3 Mbyte hash table. Introduced simple rehashing. And
  560.     also made setting ttable 0 exclude all transposition code from
  561.     gnuchess (for machines with very little memory).
  562.  
  563.  
  564. February 3, 1990 -- Tom Vijlbrief (tnosoes!tom@nluug.n)
  565.     Contributed code to fix undo of promotions.
  566.     And a bugfix RMBLTY was to small.
  567.  
  568.  
  569. Januari 27, 1990 -- Hans Eric Sandstrom (hes@log-sv.se)
  570.     Fixed nuxdsp.c to work with my changes (Saved games format)
  571.  
  572.  
  573. Januari 26, 1990 -- Hans Eric Sandstrom (hes@log-sv.se)
  574.     Verified that the underpromotion routines works.
  575.     Found and fixed the bug that caused gnuchess to report mate
  576.     and draw prematurely.
  577.  
  578.  
  579. Januari 25, 1990 -- Hans Eric Sandstrom (hes@log-sv.se)
  580.     Received the underpromotion additions from jhol@tolsun.oulu.fi
  581.     Made some optimizations in trapped and KingScan.
  582.     Added more comments on how to improve the search.
  583.     Added info on usage of the array Tree in post mode.
  584.     Changed the index in the transposition table to unsigned short to
  585.     allow a hash table of size 65536.
  586.  
  587.  
  588. Januari 11, 1990 -- Hans Eric Sandstrom (hes@log-sv.se)
  589.     Formatted gnuchess according to GNU standards with indent.
  590.  
  591.  
  592. Januari 9, 1990 -- Hans Eric Sandstrom (hes@log-sv.se)
  593.     Inserted a missing comma in KTHRT.
  594.     Removed mvstr1[5],mvstr2[5] from gnuchess.c, they are only used in the
  595.     user-interface routines uxdsp.c nondsp.c anyway.
  596.     Rewrote algbr to generate move strings for underpromotion.
  597.     (ph8k or h7h8k)
  598.     Some optimizations in CaptureList.
  599.     Changed row, column and locn to macros.
  600.     Made memset default and introduced a switch NOMEMSET for
  601.     computers without memset or where memset is a speed penality.
  602.     I tested this on:
  603.         Sparc        - no change
  604.         DECstation    - no change
  605.         Sun3/60        - 4% speed improvment.
  606.     Changed + to | in some bit-field manipulations.
  607.     Fixed the castle-with-moved-rook-bug, removed kingmoved and introduced
  608.     an array Mvboard to keep track on how many times we have moved from a
  609.     particular square.
  610.     Fixed the check for zero division in Time controls.
  611.     Added BINDIR and LIBDIR in the Makefile to set where gnuchess and
  612.     gnuchess.book gets installed.
  613.     All I have to do now is to test if all this works (-:
  614.